$(function () {

    var form = layui.form

    var laypage = layui.laypage

    //定义一个查询参数的对象,将来请求数据的时候
    //需要将参数提交到服务器
    var obj = {
        page: 1,//页码值,默认请求第一页的数据
        limit: 10,//每页显示几条数据,默认显示两条
        cateid: '',//文章分类的id
        title: '',//文章的发布状态,
        start_time: '',
        end_time: ''
    }

    // 处理文章状态的数据
    // 定义美化时间的过滤器
    template.defaults.imports.formate = function (str) {
        if (str == 0) return '待审核'
        if (str == 1) return '草稿箱'
        if (str == 2) return '已发布'
        if (str == 3) return '已删除'
    }

    template.defaults.imports.getdate = function (n) {
        var now = new Date(n),
            y = now.getFullYear(),
            m = now.getMonth() + 1,
            d = now.getDate();
        return y + "-" + (m < 10 ? "0" + m : m) + "-" + (d < 10 ? "0" + d : d) + " " + now.toTimeString().substr(0, 8);
    }
    // 渲染分类列表
    function cateList() {
        $.ajax({
            method: 'GET',
            url: '/ydd_cate/all',
            success: function (res) {
                if (res.errno !== 0) return console.log('获取分类失败!');
                // console.log(res.data);

                var htmlStr = template('tpl_cate', res)

                $('[name=cate]').html(htmlStr)
                // console.log($('[name=cate]'));
                // 重新渲染
                form.render()
            }
        })
    }
    cateList()

    $('#addCate').click(function () {
        location.href = '/addCate.html'
    })

    //获取文章列表
    function getList(obj) {
        $.ajax({
            method: 'GET',
            url: '/ydd_article/list',
            data: obj,
            success: function (res) {
                if (res.errno !== 0) return console.log('获取列表失败');

                console.log(res);
                var htmlStr = template('tpl_list', res.data)
                $('tbody').html(htmlStr)

                form.render()
                renderPage(res.data.count)
            }
        })
    }
    getList(obj)


    // 渲染文章分页
    function renderPage(total) {
        // console.log(total);
        // 使用laypage.render()来渲染分页
        laypage.render({
            elem: 'pageBox',//分页容器的id
            count: total,//总数据的个数
            limit: obj.limit,//一页显示几条数据
            curr: obj.page,//默认显示的页码
            //定义每页条数的选择项
            limits: [10, 20, 30, 40],
            // 定义分页器中的组件
            layout: ['count', 'limit', 'prev', 'page', 'next', 'skip'],
            // 分页切换时会触发,render方法被调用也会触发jump
            // 里面有一个布尔值得参数first,如果是自动加载触发则是true
            // 如果是点击分页器触发则是undefined,
            jump: function (page, first) {
                // console.log(page.curr);
                obj.page = page.curr
                // 赋值完成后需要再次调用initTable()方法
                //直接调用会造成程序的死循环,因为initTable()中调用了renderPage()方法
                // 当一条显示的最新的数据重新赋值给obj.pagesize
                obj.limit = page.limit
                if (!first) {
                    // 通过点击分页器,则对文章列表进行重新渲染
                    getList(obj)
                }
            }
        })
    }

    // 点击删除进行渲染
    $('tbody').on('click', '#btn_del', function () {
        var id = $(this).attr('data-id')

        layui.layer.confirm('确定要删除吗?', { icon: 3, title: '提示' }, function (index) {
            $.ajax({
                method: 'GET',
                url: '/ydd_article/del',
                data: {
                    id
                },
                success: function (res) {
                    if (res.errno !== 0) {
                        return layui.layer.msg('系统默认数据不允许删除!')
                    }
                    layui.layer.msg('删除成功!')
                    getList()
                }
            })

            layer.close(index);
        });
    })

    // 点击打开信息
    $('tbody').on('click', '#updatebtn', function () {
        var id = $(this).attr('data-id')
        console.log(id);
        location.href = '/updateCate.html?id=' + id
    })

    // 点击获取cateid
    $('#search').click(function () {
        obj.cateid = $('[name=cate]').val()
        obj.title = $('[name=title]').val()
        obj.start_time = +new Date($('#start_time').val()) || ''
        obj.end_time = +new Date($('#end_time').val()) || ''
        // console.log(obj.cateid);
        // 搜索请求
        getList(obj)
        console.log(obj);
    })
})